<?php

namespace App\Http\Controllers\Api\User;

use App\Http\Controllers\Controller;

class ViewController extends Controller
{


    public function __invoke()
    {
        $arr = [11, 2, 3, 8, 5, 6, 78, 99, 56, 12];

        $a = $this->quick($arr);
        dd($a);

    }


    //快速排序
    public function quick($arr)
    {
        $count = count($arr);
        if ($count <= 1) {
            return $arr;
        }
        $middle = $arr[0];
        $left = [];
        $right = [];

        foreach ($arr as $key => $value) {
            if ($key === 0) {
                continue;
            }
            if ($value < $middle) {
                array_push($left, $value);
            } else {
                array_push($right, $value);
            }
        }


        $left = $this->quick($left);

        $right = $this->quick($right);

        array_merge($left, [$middle], $right);

    }

    public function qk($arr)
    {

        if (count($arr) <= 1) {
            return $arr;
        }

        $middle=$arr[0];
        $left=[];
        $right=[];

        for ($i=1;$i<count($arr);$i++){
            if($arr[$i] <$middle){
                $left[]=$arr[$i];
            }else{
                $right[]=$arr[$i];
            }

        }
        return array_merge($this->qk($left),[$middle],$this->qk($right)) ;


    }



    function bub(&$arr){

        $len = count($arr);


        for ($i=0;$i<$len-1;$i++){

            for ($j=1;$j<$len;$j++){
                //如果第一个数 大于 第二个数 1放到2身上

                if($arr[$i] > $arr[$j]){
                    $tmp=$arr[$i];
                    $arr[$i]=$arr[$j];
                    $arr[$j]=$tmp;
                }
            }
        }
        return $arr;

    }

}
